home *** CD-ROM | disk | FTP | other *** search
/ The Original Shareware 1.1 / The Original Shareware (WeMake CDs)(Volume 1.1)(CDs, Inc)(1993).iso / 14 / lotuswks.zip / WSFF2.TXT < prev    next >
Text File  |  1986-07-29  |  80KB  |  2,554 lines

  1.                             WORKSHEET FILE FORMAT 
  2.                                   FROM LOTUS 
  3.  
  4.                            SUMMARY OF RECORD TYPES
  5.  
  6.                Copyright(c) 1984, Lotus Development Corporation 
  7.                                161 First Street 
  8.                         Cambridge, Massachusetts 02142 
  9.                                 (617) 492-7171 
  10.                       Electronic Edition, December, 1984 
  11.                              All Rights Reserved 
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.                                      BOF
  69.  
  70.  Record Type      Code            Body length 
  71.  BOF              0 (00H)         2 bytes 
  72.  
  73.  Record Description 
  74.  
  75.  Beginning of file 
  76.  
  77.  Used by both 1-2-3 and Symphony. 
  78.  
  79.  Byte Number       Byte Description 
  80.  0-1               file format revision number 
  81.                    1028 (0404h) = 1-2-3 file 
  82.                    1029 (0405h) = Symphony file 
  83.  
  84.  
  85.  Example 
  86.  
  87.  
  88.  
  89.                            Record Header             Record Body 
  90.  
  91.                         Record        Record              BOF   
  92.                          Type         Length 
  93.  Byte Number            0    1        2    3             0   1 
  94.     Hex Code           00   00       02   00            04  04 
  95.  Dec.Equivalent           0             2                1028 
  96.  
  97.  
  98.                                      EOF 
  99.  
  100.  Record Type               Code              Body length 
  101.  EOF                       1 (01H)           0 bytes 
  102.  
  103.  Record Description 
  104.  
  105.  End of file 
  106.  
  107.  Used by both 1-2-3 and Symphony 
  108.  
  109.  Byte Number          Byte Description 
  110.  
  111.  -no record body- 
  112.  
  113.  
  114.  Example 
  115.  
  116.                            Record Header 
  117.  
  118.                       Record          Record 
  119.                        Type           Length 
  120.       Byte Number     0    1          2    3 
  121.         Hex Code     01    00        00   00 
  122.  Decimal Equivalent     1               0 
  123.  
  124.  Note: End of file is ony a header. EOF has a record 
  125.  length of 0; therefore, no record body follows. 
  126.  
  127.  
  128.  
  129.  
  130.  
  131.                                    CALCMODE 
  132.  
  133.  Record Type            Code             Body length 
  134.  
  135.  CALCMODE               2 (02h)          1 byte 
  136.  
  137.  Record Description 
  138.  
  139.  Calculation method 
  140.  
  141.  Used by both 1-2-3 and Symphony. 
  142.  
  143.  Byte Number            Byte Description 
  144.  
  145.  0                      0 = Manual mode 
  146.                         FF = automatic 
  147.  
  148.  
  149.  
  150.  
  151.  
  152.                                   CALCORDER 
  153.  
  154.  
  155.  Recrod Type            Code                  Body length 
  156.  CALCORDER              3 (03H)               1 BYTE 
  157.  
  158.  Record Description 
  159.  
  160.  Calculation order 
  161.  
  162.  Used by both 1-2-3 and Symphony 
  163.  
  164.  Byte Number            Byte Description 
  165.  0                      0 = natural 
  166.                         1 = by column 
  167.                         FF = by row 
  168.  
  169.  
  170.  
  171.                                     SPLIT 
  172.  
  173.  Record Type            Code                  Body length 
  174.  SPLIT                  4(04h)                1 byte 
  175.  
  176.  Record Description 
  177.  
  178.  Split window type 
  179.  Used in 1-2-3 only. 
  180.  
  181.  Byte Number            Byte Description 
  182.  
  183.  0                      0 = not split 
  184.                         1 = vertical split 
  185.                         FF = horizontal split 
  186.  
  187.  
  188.  
  189.  
  190.                                      SYNC 
  191.  
  192.  Record Type            Code                  Body length 
  193.  SYNC                   5(05h)                1 byte 
  194.  
  195.  Record Description 
  196.  
  197.  Split window sync 
  198.  
  199.  This determines whether the two screens in 1-2-3's split-screen feature
  200.  will move together with the cursor. 
  201.  
  202.  Used in 1-2-3 only. 
  203.  
  204.  Byte Number            Byte Description 
  205.  
  206.  0                      0 = not synchronized 
  207.                         FF = synchronized 
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.                                     RANGE 
  215.  
  216.  
  217.  Record Type         Code            Body length 
  218.  RANGE               6(06h)          8 bytes 
  219.  
  220.  Record Description 
  221.  
  222.  Range of cells written to worksheet file. 
  223.  If the worksheet file was created using a File Save command, then this
  224.  range describes the active area with trailing blank columns and rows
  225.  removed.  If the worksheet file was created using a File Xtract command,
  226.  then this range describes the extract range with trailing blank columns and
  227.  rows removed.  If there is no data in the range, the starting column is set
  228.  to -1. 
  229.  
  230.  Used by both 1-2-3 and Symphony. 
  231.  
  232.  Byte Number            Byte Description 
  233.  
  234.  0-1                    starting column 
  235.  2-3                    starting row 
  236.  4-5                    ending column 
  237.  6-7                    ending row 
  238.  
  239.  
  240.  Example 
  241.  
  242.                    Record Header             rt_range Record Body 
  243.                   Record  Record       Starting  Starting  Ending  Ending 
  244.                    Type   Length       Column      Row     Column    Row 
  245.  Byte Number      0    1   2   3       0     1    2    3    4   5   6   7 
  246.     Hex Code     06   00  08  00      00    00   00   00   01  00  03  00 
  247.  Dec.Equivalent     6       8             0         0         1       3 
  248.  
  249.  The record displays the worksheet range as A1...B4. 
  250.  
  251.  
  252.  
  253.  
  254.                                    WINDOW1 
  255.  
  256.  Record Type             Code              Body length 
  257.  WINDOW1                 7(07h)            31 bytes 
  258.  
  259.  Record Description 
  260.  
  261.  Window 1 record 
  262.  Used in 1-2-3 only. 
  263.  
  264.  Byte Number              Byte Description 
  265.  
  266.  0-1                      cursor column position 
  267.  2-3                      cursor row position 
  268.  4                        format (see Appendix A, Cell Format Encoding) 
  269.  5                        unused (0) 
  270.  6-7                      column width 
  271.  8-9                      number of columns on screen 
  272.  10-11                    number of rows on screen 
  273.  12-13                    left column 
  274.  14-15                    top row 
  275.  16-17                    number of title columns 
  276.  18-19                    number of title rows 
  277.  20-21                    left title column 
  278.  22-23                    top title row 
  279.  24-25                    border width column 
  280.  26-27                    border width row 
  281.  28-29                    window width 
  282.  30                       unused (0) 
  283.  
  284.  
  285.  
  286.                                     COLW1 
  287.  
  288.  Record Type          Code            Body length 
  289.  COLW1                8(08h)          3 bytes 
  290.  
  291.  Record Type Description 
  292.  
  293.  Column width 
  294.  Used by both 1-2-3 and Symphony. 
  295.  
  296.  In 1-2-3, this record contains the width of a column Window 1. 
  297.  In symphony, it contains width information for the Window Record that it 
  298.  follows. 
  299.  
  300.  Byte Number          Byte Description 
  301.  0-1                  column 
  302.  2                    width 
  303.  
  304.  
  305.  
  306.  
  307.                                     WINTWO 
  308.  
  309.  Record Type          Code           Body length 
  310.  WINTWO               9(09h)         31 bytes 
  311.  
  312.  Record Description 
  313.  Window 2 record 
  314.  Used in 1-2-3 only. 
  315.  
  316.  Byte Number          Byte Description 
  317.  
  318.  0-1                  cursor column position 
  319.  2-3                  cursor row position 
  320.  4                    format (see Appendix A, Cell Format Encoding) 
  321.  5                    unused (0) 
  322.  6-7                  column width 
  323.  8-9                  number of columns on screen 
  324.  10-11                number of rows on screen 
  325.  12-13                left column 
  326.  14-15                top row 
  327.  16-17                number of title columns 
  328.  18-19                number of title rows 
  329.  20-21                left titile column 
  330.  22-23                top title row 
  331.  24-25                border width column 
  332.  26-27                border width row 
  333.  28-29                window width 
  334.  30                   unused (0) 
  335.  
  336.  
  337.  
  338.  
  339.                                     COLW2 
  340.  
  341.  Record Type        Code          Body length 
  342.  COLW2              10(0Ah)       3 bytes 
  343.  
  344.  Record Description 
  345.  Column width, Window 2 
  346.  Used in 1-2-3 only. 
  347.  
  348.  Byte Number        Byte Description 
  349.  0-1                column 
  350.  2                  width 
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.                                      NAME 
  358.  
  359.  Record Type        Code         Body length 
  360.  NAME               11 (OBh)     24 bytes 
  361.  
  362.  Record Description 
  363.  
  364.  Name of range 
  365.  The worksheet contains one record for each range name. 
  366.  Used in 1-2-3 only. 
  367.  
  368.  Byte Number        Byte Description 
  369.  0-15               NULL terminated ASCII string 
  370.  16-17              Starting column 
  371.  18-19              Starting row 
  372.  20-21              Ending column 
  373.  22-23              Ending row 
  374.  
  375.  Example 
  376.  
  377.                            Record Header 
  378.                         Record      Record 
  379.                          Type       Length 
  380.  Byte Number            0    1      2    3 
  381.  Hex Code              0B   00     18   00 
  382.  Decimal Equivalent       11          24 
  383.  
  384.  
  385.  
  386.  
  387.     (cont.) 
  388.  
  389.                            Record Body 
  390.                         Range Name (Text) 
  391.             Decimal Equivalent Expressed in ASCII Text 
  392.       0  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15 
  393.      52 45 56 45 4E 55 45 53 00 00  00  00  00  00  00  00 
  394.      R  E  V  E  N  U  E  S /    Unfilled  Names   Area 
  395.  
  396.  
  397.  
  398.     (cont.)                Record Body  
  399.  
  400.                 Starting  Starting  Ending  Ending 
  401.                 Column      Row     Column    Row 
  402.                 16  17     18  19   20  21  22  23 
  403.                 00  00     00  00   01  00  03  00 
  404.                    0         0        1        3 
  405.  
  406.  Range name is REVENUES (encompasses A1 to B4).
  407.  
  408.  
  409.  
  410.  
  411.  
  412.  
  413.                                     BLANK 
  414.  
  415.  Record Type        Code           Body length 
  416.  BLANK              12(0Ch)        5 bytes 
  417.  
  418.  Record Description 
  419.  
  420.  Blank cell 
  421.  
  422.  Blank cell records appear only for those cells that are protected, or do
  423.  not have the default format. 
  424.  
  425.  Unprotected blank cells with the default format are omitted from the
  426.  worksheet file. 
  427.  
  428.  Used by both 1-2-3 and Symphony. 
  429.  
  430.  Byte Number        Byte Description 
  431.  0                  format (see Appendix A, Cell Format Encoding) 
  432.  1-2                column 
  433.  3-4                row 
  434.  
  435.  Example 
  436.  
  437.                       Record Header              Record Body 
  438.                   Record         Record 
  439.                    Type          Length      Format    Column     Row 
  440.  Byte Number      0    1         2    3         0      1    2    3   4 
  441.  Hex Code        0C   00        05   00        22     05   00   0A  00 
  442.  Dec. Equivalent    12             5           34        5        10 
  443.  
  444.  This record displays cell in location F11 (column 5, row 10). 
  445.  
  446.  
  447.  
  448.  
  449.                                    INTEGER 
  450.  
  451.  Record Type          Code             Body length 
  452.  INTEGER              13(ODh)          7 bytes 
  453.  
  454.  Record Description 
  455.  
  456.  Integer number cell 
  457.  
  458.  An integer cell holds a single integer value 
  459.  in the range -32767....+32767 (decimal). 
  460.  
  461.  Used by both 1-2-3 and Symphony. 
  462.  
  463.  Byte Number          Byte Description 
  464.  
  465.  0                    format (see Appendix A, Cell Format Encoding) 
  466.  1-2                  column 
  467.  3-4                  row 
  468.  5-6                  integer value 
  469.  
  470.  
  471.  Example 
  472.  
  473.                   Record Header                      Record Body 
  474.                 Record     Record 
  475.                  Type      Length         Format   Column    Row    Integer 
  476.  Byte Number    0    1     2    3            0     1    2    3  4    5   6 
  477.  Hex Code      0D   00    07   00           00    00   00   00 00   DD  04 
  478.  Dec. Equivalent  13        7                0       0        0      1245 
  479.  
  480.  This example displays the integer 1245 located in cell A1 (column 0, row
  481.  0).  When reading a 2-byte integer, the lower byte appears first.  For
  482.  example, DD04h is actually 04DDh (1245 decimal). 
  483.  
  484.  
  485.  
  486.  
  487.  
  488.                                     NUMBER 
  489.  
  490.  Record Type        Code        Body length 
  491.  NUMBER             14 (0Eh)    13 bytes 
  492.  
  493.  Record Description 
  494.  
  495.  Floating point number 
  496.  Used by both 1-2-3 and Symphony 
  497.  
  498.  Byte Number          Byte Description 
  499.  
  500.  0                    format 
  501.  1-2                  column 
  502.  3-4                  row 
  503.  5-12 value           (IEEE long real; 8087 double-precision floating- 
  504.                       point format) 
  505.  
  506.  Example 
  507.  The following describes a 64-bit long real format. 
  508.  
  509.  
  510.                    S           Exponent           Fraction 
  511.                   63          62      52          51       0 
  512.                   MSB                                    LSB 
  513.  
  514.  S                1-bit Sign field 
  515.                   0 = + 
  516.                   1 = - 
  517.  
  518.  Exponent         11-bit Exponent field 
  519.  
  520.                   Exponent is binary, excess 1023(base 10).  Thus, the true
  521.                   exponent is: 2^(exponent -1023). 
  522.  
  523.  Fraction         52-bit Fraction field 
  524.  
  525.                   An implied leading 1 bit is at the beginning of the  
  526.                   fraction.  The implied binary point is between the implied
  527.                   1 bit and the Most  Significant Bit (MSB) of the fraction
  528.                   field. 
  529.  
  530.  Special             NA:  S = 1 Exponent = 7FF Fraction = 0 
  531.  Values             ERR:  S = 0 Exponent = 7FF Fraction = 0 
  532.  
  533.                  STRING:  S = 0 Exponent = 7FF Fraction = non-zero 
  534.                                                (Symphony only) 
  535.  
  536.  
  537.  
  538.  
  539.  
  540.                                     LABEL 
  541.  
  542.  Record Type        Code           Body  length 
  543.  LABEL              15(0Fh)        variable 
  544.  
  545.  Record Description 
  546.  
  547.  Label cell 
  548.  Used by both 1-2-3 and Symphony. 
  549.  
  550.  Byte Number        Byte Description 
  551.  
  552.  0                  format (see Appendix A, Cell Format Encoding) 
  553.  1-2                column 
  554.  3-4                row 
  555.  5+                 NULL terminated ASCII string; 
  556.                     240 bytes maximum 
  557.  
  558.  
  559.  Example 
  560.  
  561.                 Record Header                     Record Body 
  562.                Record   Record 
  563.                 Type    Length      Format  Column  Row        Label 
  564.  Byte Number    0  1     2  3          0     1  2   3  4   5  6  7  8  9 10 
  565.  Hex Code      0F 00    0B 00         F5    00 00  00 00  27 50 41 55 4C 00 
  566.  Dec. Equivalent 15       11         245      0      0       P  A  U  L 
  567.  
  568.  This example is a label record located at A1 (column 0, row 0). 
  569.  
  570.  This record contains the word 'PAUL. 
  571.  Byte 5 is always one of the following format prefixes:\'"^. 
  572.  
  573.  This record varies in relation to the amount of text stored in the cell. 
  574.  
  575.  A user can enter up to 240 characters in one cell. 
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.                                    FORMULA 
  583.  
  584.  Record Type         Code            Body length 
  585.  FORMULA             16(10H)         variable 
  586.  
  587.  Record Description 
  588.  
  589.  Formula cell 
  590.  
  591.  Used by both 1-2-3 and Symphony. 
  592.  
  593.  Formulas are compiled in Reverse Polish Internal Notation.  By creating 
  594.  formulas in 1-2-3 or Symphony, and dumping them as hex bytes, the formula 
  595.  compilation logic can be deciphered. 
  596.  
  597.  Table 1 describes the available Opcodes and functions.  The functions are 
  598.  discussed in greater detail in the 1-2-3 and Symphony documentation. 
  599.  
  600.  Appendix B discusses Lotus' proprietary formula compiler in greater
  601.  detail. 
  602.  
  603.  Byte Number           Byte Description 
  604.  0                     format (see Appendix A, Cell Format Encoding 
  605.  1-2                   column 
  606.  3-4                   row 
  607.  5-12                  formula numeric value (IEEE long real; see NUMBER) 
  608.  13-14                 formula size (bytes) 
  609.  15+                   for code (see Table 1, Formula Opcodes); Reverse 
  610.                        Polish Internal Notation; 2048 bytes maximum 
  611.  
  612.  
  613.  
  614.  
  615.  
  616.                                    FORMULA 
  617.  
  618.  Table 1-a Formula Compiler Opcode Table, Format 
  619.  
  620.  Dec        Hex           Operation          Description 
  621.  0          0             constant           Code is followed by an 8 byte 
  622.                                              IEEE Long Real Floating Point 
  623.                                              Number 
  624.  
  625.  1          1             variable           Code followed by 4 byte coor- 
  626.                                              dinate Byte 0,1 = Column 
  627.                                              Byte 2,3 = Row 
  628.  
  629.  2          2             range              Code followed by 8 byte range 
  630.                                                Byte 0,1 = Start column 
  631.                                                Byte 2,3 = Start row 
  632.                                                Byte 4,5 = End column 
  633.                                                Byte 6,7 = End row 
  634.  
  635.  3          3             return               End of formula 
  636.  
  637.  4          4             parentheses          Indicates presence of paren- 
  638.                                                theses in original formula. 
  639.                                                It is ignored during recal- 
  640.                                                culation. 
  641.  
  642.  5          5             2 byte integer       Followed by 2 byte signed  
  643.                           constant             integer. 
  644.  
  645.  The above Opcodes will define the type and length of information that  
  646.  follows the Opcode.  Opcode 3 defines the end of the formula. 
  647.  
  648.  For example, Opcode 0 is followed by an 8 byte floating point number. 
  649.               Opcode 1 is followed by a 4 byte coordinate. 
  650.               Opcode 2 is followed by an 8 byte range specifier. 
  651.               Opcode 5 is followed by a 2 byte signed integer. 
  652.  
  653.  
  654.  
  655.  
  656.  
  657.                                    FORMULA 
  658.  
  659.  Table 1-b  Formula Compiler Opcode Table, Operations 
  660.  
  661.  Dec       Hex         Operation         Description 
  662.  
  663.  8         8           unary -           Negation 
  664.  9         9           +                 Addition 
  665.  10        A           -                 Subtraction 
  666.  11        B           *                 Multiplication 
  667.  12        C           /                 Division 
  668.  13        D           ^                 Exponentiation; 
  669.                                            ie. 3^2 is(3x3) 
  670.  14        E           =                 Equal to 
  671.  15        F           < >               Not equal to 
  672.  16        10          < =               Less than or equal to 
  673.  17        11          > =               Greater than or equal to 
  674.  18        12          <                 Less than 
  675.  19        13          >                 Greater than 
  676.  20        14          #AND#             Logical AND 
  677.  21        15          #OR#              Logical OR 
  678.  22        16          #NOT#             Logical NOT 
  679.  23        17          unary +           (Ignored during recalculation 
  680.  31        1F          na                @Na not applicable 
  681.  32        20          err               @Err error 
  682.  33        21          abs               @abs (x) Absolute value of x 
  683.  34        22          int               @int (x) Integer value of x 
  684.  35        23          sqrt              @sqrt (x) Square root of x 
  685.  36        24          log               @log (x) Log base 10 of x 
  686.  37        25          ln                @ln (x) Log base e of x 
  687.  38        26          pi                @pi 
  688.  39        27          sin               @sin (x) Sine of x 
  689.  40        28          cos               @cos (x) Cosine of x 
  690.  41        29          tan               @tan (x) Tangent of x  
  691.  42        2A          atan2             @atan2 (x) 4 quadrant arc tangent 
  692.                                            of x 
  693.  43        2B          atan              @atan (x) 2 quadrant arc tangent 
  694.                                            of x 
  695.  44        2C          asin              @asin (x) Arc sine of x 
  696.  45        2D          acos              @acos (x) Arc cosine of x 
  697.  46        2E          exp               @exp (x) Exponential anti-log of x 
  698.  47        2F          mod               @mod (x,y)X Mod Y 
  699.  48        30          sel               @Choose (x,v0,v1...vN) 
  700.                                          Match a list item. 
  701.  49        31          isna              @isna (x)x = NA then 1 (true) 
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.  
  710.                                    FORMULA 
  711.  
  712.  Table 1-b (continued)  Formula Compiler Opcode Table, Operations 
  713.  
  714.  Dec      Hex         Operation         Description 
  715.  51       33          false             @false Return 0 
  716.  52       34          true              @true Return 1 
  717.  53       35          rand              @rand Generate random number 
  718.                                         between 0 and 1 
  719.  54       36          date              @date (Y,M,D) Generate the days 
  720.                                         since 1/1/1900 (Y = 0-199, 
  721.                                         M = 1-12, D = 1-31) 
  722.  55       37          today             @today  Output serial date number 
  723.                                         from cpu's clock 
  724.  56       38          pmt               @pmt (princ, int, term)Payment 
  725.  57       39          pv                @pv (pmt, int, term) Present value 
  726.  58       3A          fv                @fv (pmt, int, term) Future Value 
  727.  59       3B          if                @if (argument, them else) Boolean 
  728.                                           if 
  729.  60       3C          day               @day (x) Print day of the month from 
  730.                                           a serial date number 
  731.  61       3D          month             @month (x) Print month of the year 
  732.                                           from a serial date number 
  733.  62       3E          round             @round (x,d) Round number x to d 
  734.                                           decimal places 
  735.  
  736.  The above Opcodes are variable, constant and argument related. 
  737.  
  738.  For example: @sqrt (9) is the square root of the constant 9 
  739.               @sqrt (A1) is the square root of the variable A1 
  740.               @sqrt ((A1*2)/3) is the square root of the argument (A1*2)/3 
  741.                 (Note that the argument ((A1*2)/3) will be processed before 
  742.                 the @sqrt function.) 
  743.  
  744.  
  745.  
  746.  
  747.  
  748.  
  749.                                    FORMULA 
  750.  
  751.  Table 1-c  Formula Compiler Opcode Table, Multiple Arguments 
  752.  
  753.  Dec      Hex      Operation        Description 
  754.  80       50       sum              @sum (range and/or cell and/or  
  755.                                       constant) Use commas to separate 
  756.                                       arguments 
  757.  81       51       avg              @avg (range and/or cell and/or constant) 
  758.                                       Use commas to separate arguments 
  759.  82       52       cnt              @cnt (range and/or cell and/or constant) 
  760.                                       Use commas to separate arguments 
  761.  83       53       min              @min (range and/or cell and/or constant) 
  762.                                       Use commas to separate arguments 
  763.  84       54       max              @max (range and/or cell and/or constant 
  764.                                       Use commas to separate arguments 
  765.  85       55       vlookup          @Vlookup (x, range, offset) X = Cell 
  766.                                       address or constant, range = Table, 
  767.                                       Offset = Row in Table 
  768.  86       56       npv              @npv (int, range) Net present value; 
  769.                                       Int = interest, Range = cash flows 
  770.  87       57       var              @var (range) Variance of all items in 
  771.                                       list 
  772.  88       58       std              @std (range) Standard deviation of all 
  773.                                       items in list 
  774.  89       59       irr              @irr (guess,range) Guess = % estimate; 
  775.                                       Range = range of cash flows 
  776.  90       5A       hlookup          @hlookup, (x, range, offset) X = Cell 
  777.                                       address or constant, range = Table, 
  778.                                       Offseet = row in Table 
  779.  91       5B       dsum             Database statistical functions 
  780.  92       5C       avg              Database statistical functions 
  781.  93       5D       dcnt             Database statistical functions 
  782.  94       5E       dmin             Database statistical functions 
  783.  95       5F       dmax             Database statistical functions 
  784.  96       60       dvar             Database statistical functions 
  785.  97       61       dstd             Database statistical functions 
  786.  
  787.  The above Opcodes deal specifically with ranges and multiple arguments. 
  788.  For example: @sum (A1...A10, B25, 9) contains a range, a variable and a 
  789.  constant as the arguments. 
  790.  
  791.            All function Opcodes which accept a variable number of arguments 
  792.            are followed by a 1-byte argument count. 
  793.  
  794.  
  795.  
  796.  
  797.  
  798.                                    FORMULA 
  799.  
  800.  Table 1-d  Operator Precedence Table 
  801.  
  802.  Operator       Unary Precedence       Binary Precedence 
  803.    +                 6                        4 
  804.    -                 6                        4 
  805.    *                 na                       5 
  806.    /                 na                       5 
  807.    ^                 na                       7 
  808.    =                 na                       3 
  809.   < >                na                       3 
  810.   < =                na                       3 
  811.   > =                na                       3 
  812.    <                 na                       3 
  813.    >                 na                       3 
  814.  #and#               na                       1 
  815.   #or#               na                       1 
  816.  #not#               2                        na 
  817.  
  818.  A Note on the Decompiler 
  819.  
  820.  The algorithm for the formula decompiler was taken verbatim from: 
  821.  
  822.  Writing Interactive Compilers and Interpreters, P.J. Brown, John Wiley 
  823.  and Sons, 1979.  See chapter 6.2.  The algorithm itself is described on 
  824.  pages 216 and 217. 
  825.  
  826.  This algorithm is also described in the following article: 
  827.  
  828.  More on the Re-creation of Source Code from Reserve Polish, P.J. Brown, 
  829.  Software Practice and Experience, Vol 7, 545-551 (1977). 
  830.  
  831.  
  832.  
  833.  
  834.  
  835.  
  836.                                     TABLE 
  837.  
  838.  Record Type        Code         Body length 
  839.  TABLE              24 (18h)     25 bytes 
  840.  
  841.  Record Description 
  842.  
  843.  Table range 
  844.  
  845.  Used by both 1-2-3 and Symphony. 
  846.  In 1-2-3, the record refers to Data Tables 1 and 2. 
  847.  In Symphony, it refers to What-if Tables 1 and 2. 
  848.  
  849.  Byte Number            Byte Description 
  850.  
  851.  0                        0 = no table 
  852.                           1 = Table 1 
  853.                           2 = Table 2 
  854.  1-2                    Table Range;          starting column 
  855.  3-4                                          starting row 
  856.  5-6                                          ending column 
  857.  7-8                                          ending row 
  858.  9-10                  Input Cell 1;             starting column 
  859.  11-12                                           starting row 
  860.  13-14                                           ending column 
  861.  15-16                                           ending row 
  862.  17-18                 Input Cell 2;          starting column 
  863.  19-20                                        starting row 
  864.  21-22                                        ending column 
  865.  23-24                                        ending row 
  866.  
  867.  
  868.  
  869.  
  870.  
  871.                                     QRANGE 
  872.  
  873.  Record Type        Code         Body length 
  874.  QRANGE             25 (19h)     25 bytes 
  875.  
  876.  Record Description 
  877.  
  878.  Query range 
  879.  Used in 1-2-3 only. 
  880.  
  881.  Byte Number       Byte Description 
  882.  
  883.  0-1               Input ranges;            starting column 
  884.  2-3                                        starting row 
  885.  4-5                                        ending column 
  886.  6-7                                        ending row 
  887.  8-9               Output ranges            starting column 
  888.  10-11                                      starting row 
  889.  12-13                                      ending column 
  890.  14-15                                      ending row 
  891.  16-17             Criteria;                starting column 
  892.  18-19                                      starting row 
  893.  20-21                                      ending column 
  894.  22-23                                      ending row 
  895.  24                Command;                    0 = no command 
  896.                                                1 = find 
  897.                                                2 = extract 
  898.                                                3 = delete 
  899.                                                4 = unique 
  900.  
  901.  
  902.  
  903.  
  904.  
  905.  
  906.                                     PRANGE 
  907.  
  908.  Record Type        Code        Body length 
  909.  PRANGE             26 (1Ah)    8 bytes 
  910.  
  911.  Record Description 
  912.  
  913.  Print range 
  914.  
  915.  Used in 1-2-3 only. 
  916.  
  917.  Byte Number        Byte Description 
  918.  0-1                starting column 
  919.  2-3                starting row 
  920.  4-5                ending column 
  921.  6-7                ending row 
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.                                     SRANGE 
  929.  
  930.  Record Type         Code           Body length 
  931.  SRANGE              27 (1Bh)       8 bytes 
  932.  
  933.  Record Description 
  934.  
  935.  Sort range 
  936.  
  937.  Used in 1-2-3 only. 
  938.  
  939.  Byte Number         Byte Description 
  940.  
  941.  0-1                 starting column 
  942.  2-3                 starting row 
  943.  4-5                 ending column 
  944.  6-7                 ending row 
  945.  
  946.  
  947.  
  948.  
  949.  
  950.                                     FRANGE 
  951.  
  952.  Record Type         Code          Body length 
  953.  FRANGE              28 (1Ch)      8 bytes 
  954.  
  955.  Record Description 
  956.  
  957.  Fill range 
  958.  
  959.  Used by both 1-2-3 and Symphony. 
  960.  
  961.  Byte Number          Byte Description 
  962.  
  963.  0-1                  starting column 
  964.  2-3                  starting row 
  965.  4-5                  ending column 
  966.  6-7                  ending row 
  967.  
  968.  
  969.  
  970.  
  971.  
  972.  
  973.  
  974.                                     KRANGE 
  975.  
  976.  
  977.  Record Type          Code           Body length 
  978.  KRANGE               29 (1Dh)       9 bytes 
  979.  
  980.  Record Description 
  981.  
  982.  Primary sort key range 
  983.  
  984.  Used in 1-2-3 only. 
  985.  
  986.  Byte Number          Byte Description 
  987.  
  988.  0-1                  starting column 
  989.  2-3                  starting row 
  990.  4-5                  ending column 
  991.  6-7                  ending row 
  992.  8                    Order:  0 = descending order 
  993.                               FF = ascending order 
  994.  
  995.  
  996.  
  997.                                     HRANGE 
  998.  
  999.  
  1000.  Record Type         Code         Body length 
  1001.  HRANGE              32 (20h)     16 bytes 
  1002.  
  1003.  Record Description 
  1004.  
  1005.  Distribution range 
  1006.  
  1007.  Used by both 1-2-3 and Symphony. 
  1008.  
  1009.  Byte Number         Byte Description 
  1010.  
  1011.  0-1                 Values range;            starting column 
  1012.  2-3                                          starting row 
  1013.  4-5                                          ending column 
  1014.  6-7                                          ending row 
  1015.  8-9                 Bin range                   starting column 
  1016.  10-11                                           starting row 
  1017.  12-13                                           ending column 
  1018.  14-15                                           ending row 
  1019.  
  1020.  
  1021.  
  1022.  
  1023.                                   KRANGE2 
  1024.  
  1025.  
  1026.  Record Type           Code           Body length 
  1027.  
  1028.  KRANGE2               35(23h)        9 bytes 
  1029.  
  1030.  Record Description 
  1031.  
  1032.  Secondary sort key range 
  1033.  
  1034.  Use in 1-2-3 only. 
  1035.  
  1036.  Byte Number              Byte Description 
  1037.  
  1038.  0-1                      starting column 
  1039.  2-3                      starting row 
  1040.  4-5                      ending column 
  1041.  6-7                      ending row 
  1042.  8                        Order;  0 =  descending order 
  1043.                                   FF = ascending order 
  1044.  
  1045.  
  1046.  
  1047.  
  1048.  
  1049.                                     PROTEC 
  1050.  
  1051.  
  1052.  
  1053.  Record Type            Code              Body length 
  1054.  
  1055.  PROTEC                 36(24h)           1 byte 
  1056.  
  1057.  Record Description 
  1058.  
  1059.  Global protection 
  1060.  
  1061.  Used by both 1-2-3 and Symphony. 
  1062.  
  1063.  Byte Number            Byte Description 
  1064.  0                      0 = global protection OFF 
  1065.                         1 = global protection ON 
  1066.  
  1067.  
  1068.  
  1069.  
  1070.  
  1071.                                     FOOTER 
  1072.  
  1073.  
  1074.  Record Type        Code        Body length 
  1075.  
  1076.  FOOTER             37(25h)     242 bytes 
  1077.  
  1078.  Record Description 
  1079.  
  1080.  Print footer 
  1081.  
  1082.  Used in 1-2-3 only. 
  1083.  
  1084.  Byte Number       Byte Description 
  1085.  0-242             NULL termination ASCII string 
  1086.  
  1087.  
  1088.  
  1089.  
  1090.  
  1091.                                     HEADER 
  1092.  
  1093.  Record Type           Code            Body length 
  1094.  
  1095.  HEADER                38(26h)         242 bytes 
  1096.  
  1097.  Record Description 
  1098.  
  1099.  Print header 
  1100.  
  1101.  Used in 1-2-3 only. 
  1102.  
  1103.  Byte Number         Byte Description 
  1104.  0-242               NULL termination ASCII string 
  1105.  
  1106.  
  1107.                                     SETUP 
  1108.  
  1109.  
  1110.  Record Type           Code           Body length 
  1111.  
  1112.  SETUP                 39(27h)        40 bytes 
  1113.  
  1114.  Record Description 
  1115.  
  1116.  Print setup 
  1117.  
  1118.  Used in 1-2-3 only. 
  1119.  
  1120.  Byte Number          Byte Description 
  1121.  
  1122.  0-40                 NULL terminated ASCII string 
  1123.  
  1124.  
  1125.  
  1126.                                    MARGINS 
  1127.  
  1128.  
  1129.  
  1130.  Record Type             Code            Body length 
  1131.  
  1132.  MARGINS                 40(28h)         10 bytes 
  1133.  
  1134.  Record Description 
  1135.  
  1136.  Print margins code 
  1137.  
  1138.  Used in 1-2-3 only. 
  1139.  
  1140.  Byte Number             Byte Description 
  1141.  
  1142.  0-1                     left margin 
  1143.  2-3                     right margin 
  1144.  4-5                     page length 
  1145.  6-7                     top margin 
  1146.  8-9                     bottom margin 
  1147.  
  1148.  
  1149.  
  1150.  
  1151.                                    LABELFMT 
  1152.  
  1153.  
  1154.  
  1155.  Record Type           Code            Body length 
  1156.  
  1157.  LABELFMT              41 (29h)        1 byte 
  1158.  
  1159.  Record Description 
  1160.  
  1161.  Label alignment 
  1162.  
  1163.  Used by both 1-2-3 and Symphony 
  1164.  
  1165.  Byte Number          Byte Description 
  1166.  
  1167.  0                    27h = left 
  1168.                       22h = right 
  1169.                       5Eh = center 
  1170.  
  1171.  
  1172.  
  1173.  
  1174.                                     TITLES 
  1175.  
  1176.  
  1177.  Record Types         Code            Body length 
  1178.  
  1179.  TITLES               42(2Ah)         16 bytes 
  1180.  
  1181.  Record Description 
  1182.  
  1183.  Print borders 
  1184.  
  1185.  Used in 1-2-3 only. 
  1186.  
  1187.  Byte Number         Byte Description 
  1188.  
  1189.  0-1                 Row border;                  starting column 
  1190.  2-3                                              starting row 
  1191.  4-5                                              ending column 
  1192.  6-7                                              ending row 
  1193.  8-9                 Column border;                  starting column 
  1194.  10-11                                               starting row 
  1195.  12-13                                               ending column 
  1196.  14-15                                               ending row 
  1197.  
  1198.  
  1199.  
  1200.  
  1201.                                     GRAPH 
  1202.  
  1203.  
  1204.  Record Type          Code          Body length 
  1205.  
  1206.  GRAPH                45(2Dh)       437 bytes 
  1207.  
  1208.  Record Description 
  1209.  
  1210.  Current graph settings 
  1211.  
  1212.  Used in 1-2-3 only. 
  1213.  
  1214.  Byte Number             Byte Description 
  1215.  
  1216.                          -- see Table 2  Graph Record Structure -- 
  1217.  
  1218.  
  1219.  
  1220.                                     GRAPH 
  1221.  
  1222.  
  1223.  Table 2   Graph Record Structure 
  1224.  
  1225.  Byte Number          Byte Description 
  1226.  
  1227.  0-1                  X Range;                starting column 
  1228.  2-3                                          starting row 
  1229.  4-5                                          ending column 
  1230.  6-7                                          ending row 
  1231.  
  1232.  8-9                  A Range;                    starting column 
  1233.  10-11                                        starting row 
  1234.  12-13                                        ending column 
  1235.  14-15                                        ending row 
  1236.  
  1237.  16-17                B Range;                starting column 
  1238.  18-19                                        starting row 
  1239.  20-21                                        ending column 
  1240.  22-23                                        ending row 
  1241.  
  1242.  24-25                C Range;                    stating column 
  1243.  26-27                                        starting row 
  1244.  28-29                                        ending column 
  1245.  30-31                                        ending row 
  1246.  32-33                D Range;                starting column 
  1247.  34-35                                        starting row 
  1248.  36-37                                        ending column 
  1249.  38-39                                        ending row 
  1250.  
  1251.  40-41                E Range;                starting column 
  1252.  42-43                                        starting row 
  1253.  44-45                                        ending column 
  1254.  46-47                                        ending row 
  1255.  
  1256.  48-49                F Range;                starting column 
  1257.  50-51                                        starting row 
  1258.  52-53                                        ending column 
  1259.  54-55                                        ending row 
  1260.  
  1261.  56-57                A Labels;               starting column 
  1262.  58-59                                        starting row 
  1263.  60-61                                        ending column 
  1264.  62-63                                        ending row 
  1265.  
  1266.  64-65                B Labels;               starting column 
  1267.  66-67                                        starting row 
  1268.  68-69                                        ending column 
  1269.  70-71                                        ending row 
  1270.  
  1271.  72-73                C Labels;               starting column 
  1272.  74-75                                        starting row 
  1273.  76-77                                        ending column 
  1274.  78-79                                        ending row 
  1275.  
  1276.  80-81                D Labels;               starting column 
  1277.  82-83                                        starting row 
  1278.  84-85                                        ending column 
  1279.  86-87                                        ending row 
  1280.  
  1281.  
  1282.  
  1283.  
  1284.                                     GRAPH 
  1285.  
  1286.  
  1287.  Table 2   (continued)   Graph Record Structure 
  1288.  
  1289.  Byte Number         Byte Description 
  1290.  
  1291.  88-89               E Labels;                starting column 
  1292.  90-91                                        starting row 
  1293.  92-93                                        ending column 
  1294.  94-95                                        ending row 
  1295.  96-97               F Labels;                starting column 
  1296.  98-97                                        starting row 
  1297.  100-101                                      ending column 
  1298.  102-103                                      ending row 
  1299.  
  1300.  104                 Graph type               0 = XY, 1 = bar, 2 = pie, 
  1301.                                                 4 = line, 5 = stacked bar 
  1302.  
  1303.  105                 Grid;                    0 = none, 1 = horizontal, 
  1304.                                                 2 = vertical, 3 = both 
  1305.  
  1306.  106                 Color                    0 = black-white, FF = color 
  1307.  
  1308.  107                 A Range line format;     0 = none, 1 = line, 
  1309.                                                 2 = symbol, 3 = line-symbol 
  1310.  
  1311.  108                 B Range line format;     0 = none, 1 = line, 
  1312.                                                 2 = symbol, e = line-symbol 
  1313.  
  1314.  109                 C Range line format;     0 = none, 1 = line, 
  1315.                                                 2 = symbol, 3 = line-symbol 
  1316.  
  1317.  110                 D Range line format;     0 = none, 1 = line, 
  1318.                                                 2 = symbol, 3 = line-symbol 
  1319.  
  1320.  111                 E Range line format;     0 = none, 1 = line, 
  1321.                                                 2 = symbol, 3 = line-symbol 
  1322.  
  1323.  112                 F Range line format;     0 = none, 1 = line, 
  1324.                                                 2 = symbol, 3 = line-symbol 
  1325.  
  1326.  113                 A Range data label       0 = center, 1 = right,  
  1327.                       alignment;                2 = below, 3 = left, 
  1328.                                                 4 = above 
  1329.  
  1330.  114                 B Range data label       0 = center, 1 = right 
  1331.                       alignment;                2 = below, 3 = left 
  1332.                                                 4 = above 
  1333.  
  1334.  115                 C Range data label       0 = center, 1 = right 
  1335.                       alignment;                2 = below, 3 = left 
  1336.                                                 4 = above 
  1337.  
  1338.  116                 D Range data label       0 = center, 1 = right 
  1339.                       alignment;                2 = below, 3 = left 
  1340.                                                 4 = above 
  1341.  
  1342.  117                 E Range data label       0 = center, 1 = right 
  1343.                       alignment;                2 = below, 3 = left 
  1344.                                                 4 = above 
  1345.  
  1346.  118                 F Range data label       0 = center, 1 = right 
  1347.                       alignment;                2 = below, 3 = left 
  1348.                                                 4 = above 
  1349.  
  1350.  
  1351.  
  1352.  
  1353.                                     GRAPH 
  1354.  
  1355.  
  1356.  Table 2  (continued)  Graph Record Structure 
  1357.  
  1358.  Byte Number         Byte Description 
  1359.  
  1360.  119                 Scale                                    0 = auto 
  1361.                                                               FF = manual 
  1362.  120-127             X lower limit in floating point format 
  1363.  
  1364.  128-135             X upper limit in floating point format 
  1365.  
  1366.  136                 Y scale;                                 0 = automatic 
  1367.                                                               FF = manual 
  1368.  
  1369.  137-144             Y lower limit in floating point format 
  1370.  
  1371.  145-152             Y upper limit in floating point format 
  1372.  
  1373.  
  1374.  
  1375.  153-192             First title 
  1376.  
  1377.  193-232             Second title 
  1378.  
  1379.  233-272             X title 
  1380.  
  1381.  273-312             Y title 
  1382.  
  1383.  313-332             A legend 
  1384.  
  1385.  333-352             B legend 
  1386.  
  1387.  353-372             C legend 
  1388.  
  1389.  373-392             D legend 
  1390.  
  1391.  393-412             E legend 
  1392.  
  1393.  413-432             F legend 
  1394.  
  1395.  433                 X format 
  1396.  
  1397.  434                 Y format 
  1398.  
  1399.  435-436             Skip factor 
  1400.  
  1401.  
  1402.  
  1403.  
  1404.  
  1405.                                     NGRAPH 
  1406.  
  1407.  
  1408.  Record Type        Code         Body length 
  1409.  
  1410.  NGRAPH             46 (2EH)     453 bytes 
  1411.  
  1412.  Record Description 
  1413.  
  1414.  Named current graph settings 
  1415.  
  1416.  Used in 1-2-3 only. 
  1417.  
  1418.  Bytes Number       Byte Description 
  1419.  
  1420.                     -- see Table 3  Ngraph Record Structure -- 
  1421.  
  1422.  
  1423.                                     NGRAPH 
  1424.  
  1425.  
  1426.  Table 3  NGraph Record Structure 
  1427.  
  1428.  Byte Number      Byte Description 
  1429.  
  1430.  0-15             Name;                  NULL terminated ASCII string 
  1431.  
  1432.  16-17            X Range;               starting column 
  1433.  18-19                                   starting row 
  1434.  20-21                                   ending column 
  1435.  22-23                                   ending row 
  1436.  
  1437.  24-25            A Range;               starting column 
  1438.  26-27                                   starting row 
  1439.  28-29                                   ending column 
  1440.  30-31                                   ending row 
  1441.  
  1442.  32-33            B Range;               starting column 
  1443.  34-35                                   starting row 
  1444.  36-37                                   ending column 
  1445.  38-39                                   ending row 
  1446.  
  1447.  40-41            C Range;               starting column 
  1448.  42-43                                   starting row 
  1449.  44-45                                   ending column 
  1450.  46-47                                   ending row 
  1451.  
  1452.  48-49            D Range;               starting column 
  1453.  50-51                                   starting row 
  1454.  52-53                                   ending column 
  1455.  54-55                                   ending row 
  1456.  
  1457.  56-57            E Range;               starting column 
  1458.  58-59                                   starting row 
  1459.  60-61                                   ending column 
  1460.  62-63                                   ending row 
  1461.  
  1462.  64-65            F Range;               stating column 
  1463.  66-67                                   starting row 
  1464.  68-69                                   ending column 
  1465.  70-71                                   ending row 
  1466.  
  1467.  72-73            A Labels;              starting column 
  1468.  74-75                                   starting row 
  1469.  76-77                                   ending column 
  1470.  78-79                                   ending row 
  1471.  
  1472.  80-81            B Labels;              starting column 
  1473.  82-83                                   starting row 
  1474.  84-85                                   ending column 
  1475.  86-87                                   ending row 
  1476.  
  1477.  88-89            C Labels;              starting column 
  1478.  90-91                                   starting row 
  1479.  92-93                                   ending column 
  1480.  94-95                                   ending row 
  1481.  
  1482.  96-97            D Labels;              starting column 
  1483.  98-99                                   starting row 
  1484.  100-101                                 ending column 
  1485.  102-103                                 ending row 
  1486.  
  1487.  
  1488.                                     NGRAPH 
  1489.  
  1490.  
  1491.  Table 3  (continued)  NGraph Record Structure 
  1492.  
  1493.  Byte Number       Byte Description 
  1494.  
  1495.  104-105           E Labels;                  starting column 
  1496.  106-107                                      starting row 
  1497.  108-109                                      ending column 
  1498.  110-111                                      ending row 
  1499.  
  1500.  112-113           F Labels;                  starting column 
  1501.  114-115                                      starting row 
  1502.  116-117                                      ending column 
  1503.  118-119                                      ending row 
  1504.  
  1505.  120               Graph type;                0 = XY, 1 = bar, 2 = pie, 
  1506.                                                 4 = line, 5 = stacked bar 
  1507.  
  1508.  121               Grid                       0 = none, 1 = horizontal, 
  1509.                                                 2 = vertical, 3 = both 
  1510.  
  1511.  122               Color;                     0 = black-white, FF = color 
  1512.  
  1513.  123               A Range line format;       0 = none, l = line, 
  1514.                                                 2 = symbol, 3 = line-symbol 
  1515.  
  1516.  124               B Range line format;       0 = none, 1 = line, 
  1517.                                                 2 = symbol, 3 = line-symbol
  1518.  
  1519.  125               C Range line format;       0 = none, 1 = line                                                                        2 = symbol, 3 = line-symbol 
  1520.                                               2 = symbol, 3 = line-symbol 
  1521.  
  1522.  126               D Range line format;       0 = none, 1 = line 
  1523.                                                 2 = symbol, 3 = line-symbol 
  1524.  
  1525.  127               E Range line format;       0 = none, 1 = line 
  1526.                                                 2 = symbol, 3 = line-symbol 
  1527.  
  1528.  128               F Range line format;       0 = none, 1 = line 
  1529.                                                 2 = symbol, 3 = line-symbol 
  1530.  
  1531.  129               A Range data label         0 = center, 1 = right 
  1532.                      alignment                  2 = below, 3 = left, 
  1533.                                                 4 = above 
  1534.  
  1535.  130               B Range data label         0 = center, 1 = right 
  1536.                      alignment                  2 = below, 3 = left 
  1537.                                                 4 = above 
  1538.  
  1539.  131               C Range data label         0 = center, 1 = right 
  1540.                      alignment                  2 = below, 3 = left 
  1541.                                                 4 = above 
  1542.  
  1543.  132               D Range data label         0 = center, 1 = right 
  1544.                      alignment                  2 = below, 3 = left 
  1545.                                                 4 = above 
  1546.  
  1547.  133               E Range data label         0 = center, 1 = right 
  1548.                      alignment                  2 = below, 3 = left 
  1549.                                                 4 = above 
  1550.  
  1551.  134               F Range data label         0 = center, 1 = right 
  1552.                      alignment                  2 = below, 3 = left 
  1553.  
  1554.  135               Scale                      0 = auto 
  1555.                                               FF = manual 
  1556.  
  1557.  
  1558.  
  1559.                                     NGRAPH 
  1560.  
  1561.  
  1562.  Table 3  (continued)  NGraph Record Structure 
  1563.  
  1564.  Byte Number         Byte Description 
  1565.  
  1566.  136-143             X lower limit in floating point format 
  1567.  
  1568.  144-151             X upper limit in floating point format 
  1569.  
  1570.  152                 Y scale;                           0 = automatic 
  1571.                                                         FF = manual 
  1572.  
  1573.  153-160             Y lower limit in floating point format 
  1574.  
  1575.  161-168             Y upper limit in floating point format 
  1576.  
  1577.  
  1578.  209-224             First title 
  1579.  
  1580.  225-248             Second title 
  1581.  
  1582.  249-288             X title 
  1583.  
  1584.  289-328             Y title 
  1585.  
  1586.  329-348             A legend 
  1587.  
  1588.  349-368             B legend 
  1589.  
  1590.  369-388             C legend 
  1591.  
  1592.  389-408             D legend 
  1593.  
  1594.  409-428             E legend 
  1595.  
  1596.  429-448             F legend 
  1597.  
  1598.  449                 X format 
  1599.  
  1600.  450                 Y format 
  1601.  
  1602.  451-452             Skip factor 
  1603.  
  1604.  
  1605.  
  1606.  
  1607.                                   CALCCOUNT 
  1608.  
  1609.  
  1610.  Record Type       Code        Body length 
  1611.  
  1612.  CALCCOUNT         47(2Fh)     1 byte 
  1613.  
  1614.  Record Description 
  1615.  
  1616.  Iteration count 
  1617.  
  1618.  Used in 1-2-3 and Symphony. 
  1619.  
  1620.  Byte Number       Byte Description 
  1621.  
  1622.  0                 Iteration count 
  1623.  
  1624.  
  1625.  
  1626.  
  1627.                                  UNFORMATTED 
  1628.  
  1629.  Record Type         Code         Body length 
  1630.  
  1631.  UNFORMATTED         48(30h)      1 byte 
  1632.  
  1633.  Record Description 
  1634.  
  1635.  Formatted/unformatted print 
  1636.  
  1637.  Used in 1-2-3 only. 
  1638.  
  1639.  Byte Number         Byte Description 
  1640.  
  1641.  0                   0 = formatted 
  1642.                      1 = unformatted 
  1643.  
  1644.  
  1645.  
  1646.  
  1647.                                   CURSORW12 
  1648.  
  1649.  
  1650.  Record Type         Code         Body length 
  1651.  
  1652.  CURSORW12           49(31h)      1 
  1653.  
  1654.  Record Description 
  1655.  
  1656.  Cursor location 
  1657.  
  1658.  Used in 1-2-3 only. 
  1659.  
  1660.  Byte Number         Byte Description 
  1661.  
  1662.  0                   1 = cursor in Window 1 
  1663.                      2 = cursor in Window 2 
  1664.  
  1665.  
  1666.  
  1667.                                     WINDOW 
  1668.  
  1669.  
  1670.  Record Type              Code             Body length 
  1671.  
  1672.  WINDOW                   50(32h)          144 bytes 
  1673.  
  1674.  Record Description 
  1675.  
  1676.  Window record structure 
  1677.  
  1678.  Used in Symphony only. 
  1679.  
  1680.  Byte Number              Byte Description 
  1681.  
  1682.                           -- see Table 4  Window Record Structure -- 
  1683.  
  1684.  
  1685.  
  1686.                                     WINDOW 
  1687.  
  1688.  
  1689.  Table 4  Window Record Structure 
  1690.  
  1691.  Byte Number          Byte Description 
  1692.  
  1693.  0-15                 Window name                    NULL terminated ASCII 
  1694.                                                      string 
  1695.  16-17                Cursor position;               column 
  1696.  18-19                                               row 
  1697.  20                   Format (see Appendix A, 
  1698.                       Cell Format Encoding) 
  1699.  
  1700.  21                   Unused 
  1701.  22-23                Column width 
  1702.  24-25                Total number of columns 
  1703.  26-27                Total number of rows 
  1704.  28-29                Non-Title Home Position;       column 
  1705.  30-31                                               row 
  1706.  32-33                Number of title columns 
  1707.  34-35                Number of title rows 
  1708.  36-37                Left title column 
  1709.  38-39                Top title row 
  1710.  40-41                Home position column 
  1711.  42-43                Home position row 
  1712.  44-45                Number of screen columns 
  1713.  46-47                Number of screen rows 
  1714.  
  1715.  48                   Hidden Status;                 0 = hidden 
  1716.                                                      FF = not hidden 
  1717.  
  1718.  49                   Previous window;               0 = SHEET 
  1719.                                                      1 = DOC 
  1720.                                                      2 = GRAPH 
  1721.                                                      3 = COMM 
  1722.                                                      4 = FORM 
  1723.                                                      5 = APPLICATION 
  1724.  
  1725.  50                  Border display;                 0 = cell 
  1726.                                                      FF = no cell 
  1727.  
  1728.  51                  Border display lines;           0 = lines 
  1729.                                                      FF = no lines 
  1730.  
  1731.  52-53               Window Range                    starting column 
  1732.  54-55                                               starting row 
  1733.  56-57                                               ending column 
  1734.  58-59                                               ending row 
  1735.  
  1736.  60-61               Offset 
  1737.  
  1738.  62                  Insert mode flag;               0 = OFF 
  1739.                                                      non-zero = ON 
  1740.  
  1741.  63-78               Graph name 
  1742.  
  1743.  
  1744.  
  1745.  
  1746.  
  1747.  
  1748.  
  1749.                                     WINDOW 
  1750.  
  1751.  
  1752.  
  1753.  Table 4  (continued)  Window Record Structure 
  1754.  
  1755.  Byte Number          Byte Description 
  1756.  79                   Window type;                 0 = SHEET 
  1757.                                                    1 = DOC 
  1758.                                                    2 = GRAPH 
  1759.                                                    3 = COMM 
  1760.                                                    4 = FORM 
  1761.                                                    5 = APPLICATION 
  1762.  
  1763.  80                   Automatic display mode       "a" = automatic (ASCII 
  1764.                       flag;                          lower case "a") 
  1765.                                                      else = manual 
  1766.  
  1767.  81                   Forms filter;                0 = filter 
  1768.                                                    non-zero = no filter 
  1769.  
  1770.  82-97                Associated form name 
  1771.  98-99                Forms current record 
  1772.  
  1773.  100                  Space display;               0 = no spaces 
  1774.                                                    non-zero = spaces 
  1775.  
  1776.  101                  Line spacing;                1 = 1 space 
  1777.                                                    2 = 2 spaces 
  1778.                                                    3 = 3 spaces 
  1779.  
  1780.  102                  Justify type                 "1" = left (ASCII lower 
  1781.                                                      case "1") 
  1782.                                                    "r" = right (ASCII lower 
  1783.                                                      case "r") 
  1784.                                                    "c" = center (ASCII 
  1785.                                                      lower case "c" 
  1786.                                                    "e" = even (ASCII lower 
  1787.                                                      case "e" 
  1788.  
  1789.  103-104              Right Margin                 0 = FOh characters 
  1790.                                                      = right margin 
  1791.                                                    FF = no user-defined
  1792.                                                      right margin; use  
  1793.                                                      default value 
  1794.  
  1795.  105-106              Left Margin                  0-FOh characters = left 
  1796.                                                      margin 
  1797.  
  1798.  107-108              Tab interval 
  1799.  109                  CR display;                  0 = soft 
  1800.                                                    non-zero = hard 
  1801.  110                  Auto-justify on copy/        0 = no 
  1802.                         move;                      non-zero = yes 
  1803.  111-126              Associated application 
  1804.                         name 
  1805.  127-143              Reserved Application Area 
  1806.  
  1807.  
  1808.  
  1809.                                     STRING 
  1810.  
  1811.  Record Type           Code           Body length 
  1812.  
  1813.  STRING                51(33h)        variable 
  1814.  
  1815.  Record Description 
  1816.  
  1817.  Value of string formula 
  1818.  
  1819.  Used in Symphony only. 
  1820.  
  1821.  Byte Number          Byte Description 
  1822.  
  1823.  0                    format (see Appendix A, Cell Format Encoding) 
  1824.  1-2                  column 
  1825.  3-4                  row 
  1826.  5+                   NULL terminated ASCII string 
  1827.  
  1828.  
  1829.  
  1830.                                    PASSWORD 
  1831.  
  1832.  
  1833.  Record Type          Code           Body length 
  1834.  PASSWORD             55(37h)        4 byte 
  1835.  
  1836.  Record Description 
  1837.  
  1838.  File lockout (CHKSUM) 
  1839.  
  1840.  This is proprietary information. 
  1841.  
  1842.  Used in Symphony only. 
  1843.  
  1844.  Byte Number         Byte Description 
  1845.  
  1846.                      -- not available -- 
  1847.  
  1848.  
  1849.  
  1850.                                     LOCKED 
  1851.  
  1852.  Record Type           Code             Body length 
  1853.  
  1854.  LOCKED                56(38h)          1 byte 
  1855.  
  1856.  Record Description 
  1857.  
  1858.  Lock Flag 
  1859.  
  1860.  Used in Symphony only. 
  1861.  
  1862.  Byte Number           Byte Description 
  1863.  
  1864.  0                     0 = OFF 
  1865.                        1 = ON 
  1866.  
  1867.                                     QUERY 
  1868.  
  1869.  
  1870.  Record Type          Code           Body length 
  1871.  
  1872.  QUERY                60(Ch)         127 bytes 
  1873.  
  1874.  Record  Description 
  1875.  
  1876.  Query settings 
  1877.  
  1878.  Used in Symphony only. 
  1879.  
  1880.  Byte Number          Byte Description 
  1881.  
  1882.                       -- see Table 5  Query Record Structure -- 
  1883.  
  1884.  
  1885.                                     QUERY 
  1886.  
  1887.  Table 5  Query Record Structure 
  1888.  
  1889.  Byte Number            Byte Description 
  1890.  
  1891.  0-15                   Name;                 NULL termination ASCII string 
  1892.  
  1893.  16-17                  Input range;          starting column 
  1894.  18-19                                        starting row 
  1895.  20-21                                        ending column 
  1896.  22-23                                        ending row 
  1897.  
  1898.  24-25                  Output Range;         starting column 
  1899.  26-27                                        starting row 
  1900.  28-29                                        ending column 
  1901.  30-31                                        ending row 
  1902.  
  1903.  32-33                  Criteria Range;       starting column 
  1904.  34-35                                        starting row 
  1905.  36-37                                        ending column 
  1906.  38-39                                        ending row 
  1907.  
  1908.  40-41                  Form Entry;           starting column 
  1909.  42-43                                        starting row 
  1910.  44-45                                        ending column 
  1911.  46-47                                        ending row 
  1912.  
  1913.  48-49                  Form Def. Range;      starting column 
  1914.  50-51                                        starting row 
  1915.  52-53                                        ending column 
  1916.  54-55                                        ending row 
  1917.  
  1918.  56-57                  Report Output;        starting column 
  1919.  58-59                                        starting row 
  1920.  60-61                                        ending column 
  1921.  62-63                                        ending row 
  1922.  
  1923.  64-65                  Report Header;        starting column 
  1924.  66-67                                        starting row 
  1925.  68-69                                        ending column 
  1926.  70-71                                        ending row 
  1927.  
  1928.  72-73                  Report Footer;        starting column 
  1929.  74-75                                        starting row 
  1930.  76-77                                        ending column 
  1931.  78-79                                        ending row 
  1932.  
  1933.  80-81                  Table Range;          starting column 
  1934.  82-83                                        starting row 
  1935.  84-85                                        ending column 
  1936.  86-87                                        ending row 
  1937.  
  1938.  88-89                  Input Cell;           starting column 
  1939.  90-91                                        starting row 
  1940.  92-93                                        ending column 
  1941.  94-95                                        ending row 
  1942.  
  1943.                                     QUERY 
  1944.  
  1945.  
  1946.  Table 5  (continued)  Query Record Structure 
  1947.  
  1948.  Byte Number          Byte Description 
  1949.  
  1950.  96-97                1st Key range;               starting column 
  1951.  98-99                                             starting row 
  1952.  100-101                                           ending column 
  1953.  102-103                                           ending row 
  1954.  
  1955.  104-105              2nd Key range;               starting column 
  1956.  106-107                                           starting row 
  1957.  108-109                                           ending column 
  1958.  110-111                                           ending row 
  1959.  
  1960.  112-113              3rd Key range;               starting column 
  1961.  114-115                                           starting row 
  1962.  116-117                                           ending column 
  1963.  118-119                                           ending row 
  1964.  
  1965.  120                  Last command;                0 = no command 
  1966.                                                    1 = find 
  1967.                                                    2 = extract 
  1968.                                                    3 = delete 
  1969.                                                    4 = unique 
  1970.  
  1971.  121                  1st Key order;               0 = descending order 
  1972.                                                    FF = ascending order 
  1973.  
  1974.  122                  2nd Key order;               0 = descending order 
  1975.                                                    FF = ascending order 
  1976.  
  1977.  123                  3rd Key order                0 = descending order 
  1978.                                                    FF = ascending order 
  1979.  
  1980.  124                  Report number of records;    0 = multiple 
  1981.                                                    FF = single 
  1982.  
  1983.  125                  Number of records;           0 = multiple 
  1984.                                                    FF = single 
  1985.  
  1986.  126                  Marks;                       0 = yes 
  1987.                                                    FF = no 
  1988.  
  1989.  
  1990.  
  1991.                                   QUERYNAME 
  1992.  
  1993.  
  1994.  Record Type          Code            Body length 
  1995.  QUERYNAME            61(3Dh)         16 bytes 
  1996.  
  1997.  Record Description 
  1998.  
  1999.  Current Query Name 
  2000.  
  2001.  Used in Symphony only. 
  2002.  
  2003.  Byte Number         Byte Description 
  2004.  
  2005.  0-15                NULL terminated ASCII string 
  2006.  
  2007.                                     PRINT 
  2008.  
  2009.  
  2010.  
  2011.  Record Type          Code            Body length 
  2012.  PRINT                62(3Eh)         679 bytes 
  2013.  
  2014.  Record Description 
  2015.  
  2016.  Print record 
  2017.  
  2018.  Used in Symphony only. 
  2019.  
  2020.  Byte Number          Byte Description 
  2021.  
  2022.                       -- see Table 6 Print Record Structure -- 
  2023.  
  2024.  
  2025.  
  2026.                                     PRINT 
  2027.  
  2028.  
  2029.  Table 6  Print Record Structure 
  2030.  
  2031.  Byte Number        Byte Description 
  2032.  
  2033.  0-15               Print setting name;       NULL terminated ASCII string 
  2034.  
  2035.  16-17              Source range;             starting column 
  2036.  18-19                                        starting row 
  2037.  20-21                                        ending column 
  2038.  22-23                                        ending row 
  2039.  
  2040.  24-25              Row border;               starting column 
  2041.  26-27                                        starting row 
  2042.  28-29                                        ending column 
  2043.  30-31                                        ending row 
  2044.  
  2045.  32-33              Column border;            starting column 
  2046.  34-35                                        starting row
  2047.  36-37                                        ending column 
  2048.  38-39                                        ending row 
  2049.  
  2050.  40-41              Destination;              starting column 
  2051.  42-43                                        starting row 
  2052.  44-45                                        ending column 
  2053.  46-47                                        ending row 
  2054.  
  2055.  48                 Print format;             0 = as displayed 
  2056.                                               non-zero = formulas 
  2057.  
  2058.  49                 Page breaks               0 = yes 
  2059.                                               non-zero = no 
  2060.  50                 Line spacing 
  2061.  51-52              Left Margin 
  2062.  53-54              Right Margin 
  2063.  55-56              Page length 
  2064.  57-58              Top 
  2065.  59-60              Bottom of page 
  2066.  
  2067.  61-101             Setup string;             NULL terminated ASCII string 
  2068.  102-342            Header;                   NULL terminated ASCII string 
  2069.  343-584            Footer;                   NULL terminated ASCII string 
  2070.  585-600            Source database name;     NULL terminated ASCII string 
  2071.  
  2072.  601                Attribute;                0 = no 
  2073.                                               non-zero = yes 
  2074.  
  2075.  602                Space compression;        0 = no 
  2076.                                               non-zero = yes 
  2077.  
  2078.  603                Print destination         0 = printer 
  2079.                                               1 = file 
  2080.                                               2 = range 
  2081.  
  2082.  604-605            Starting page 
  2083.  606-607            Ending page 
  2084.  608-677            Destination filename;     NULL terminated ASCII string 
  2085.  
  2086.  678                Wait;                     0 = no 
  2087.                                               non-zero = yes 
  2088.  
  2089.  
  2090.  
  2091.                                   PRINTNAME 
  2092.  
  2093.  
  2094.  Record Type        Code           Body length 
  2095.  
  2096.  PRINTNAME          63(3Fh)        16 bytes 
  2097.  
  2098.  Record Description 
  2099.  
  2100.  Current Print Record Name 
  2101.  
  2102.  Used in Symphony only. 
  2103.  
  2104.  Byte Number        Byte Description 
  2105.  
  2106.  0-15               NULL terminated ASCII string 
  2107.  
  2108.  
  2109.  
  2110.                                     GRAPH2 
  2111.  
  2112.  
  2113.  
  2114.  Record Type        Code        Body length 
  2115.  
  2116.  GRAPH2             64(40h)     499 bytes 
  2117.  
  2118.  
  2119.  Record Description 
  2120.  
  2121.  Graph record 
  2122.  
  2123.  Used in Symphony only. 
  2124.  
  2125.  Byte Number        Byte Description 
  2126.  
  2127.                     -- see Table 7  Symphony Graph Record Structure -- 
  2128.  
  2129.  
  2130.  
  2131.                                     GRAPH2 
  2132.  
  2133.  
  2134.  Table 7  Symphony Graph Record Structure 
  2135.  
  2136.  Byte Number        Byte Description 
  2137.  0-15               Name;                NULL terminated ASCII string 
  2138.  16-17              XRange;              starting column 
  2139.  18-19                                   starting row 
  2140.  20-21                                   ending column 
  2141.  22-23                                   ending row 
  2142.  
  2143.  24-25              A Range;             starting column 
  2144.  26-27                                   starting row 
  2145.  28-29                                   ending column 
  2146.  30-31                                   ending row 
  2147.  
  2148.  32-33              B Range;             starting column 
  2149.  34-35                                   starting row 
  2150.  36-37                                   ending column 
  2151.  38-39                                   ending row 
  2152.  
  2153.  40-41              C Range;             starting column 
  2154.  42-43                                   starting row 
  2155.  44-45                                   ending column 
  2156.  46-47                                   ending row 
  2157.  
  2158.  48-49              D Range;             starting column 
  2159.  50-51                                   starting row 
  2160.  52-53                                   ending column 
  2161.  54-55                                   ending row 
  2162.  
  2163.  56-57              E Range;             starting column 
  2164.  58-59                                   starting row 
  2165.  60-61                                   ending column 
  2166.  62-63                                   ending row 
  2167.  
  2168.  64-65              F Range;             starting column 
  2169.  66-67                                   starting row 
  2170.  68-69                                   ending column 
  2171.  70-71                                   ending row 
  2172.  
  2173.  72-73              A Labels;            starting column 
  2174.  74-75                                   starting row 
  2175.  76-77                                   ending column 
  2176.  78-79                                   ending row 
  2177.  
  2178.  80-81              B Labels;            starting column 
  2179.  82-83                                   starting row 
  2180.  84-85                                   ending column 
  2181.  86-87                                   ending row 
  2182.  
  2183.  88-89              C Labels;            starting column 
  2184.  90-91                                   starting row 
  2185.  92-93                                   ending column 
  2186.  94-95                                   ending row 
  2187.  
  2188.  
  2189.                                     GRAPH2 
  2190.  
  2191.  
  2192.  Table 7  (continued)  Symphony Graph Record Structure 
  2193.  
  2194.  Byte Number         Byte Description 
  2195.  
  2196.  96-97               D Labels;                     starting column 
  2197.  98-99                                             starting row 
  2198.  100-101                                           ending column 
  2199.  102-103                                           ending row 
  2200.  
  2201.  104-105             E Labels;                     starting column 
  2202.  106-107                                           starting row 
  2203.  108-109                                           ending column 
  2204.  110-111                                           ending row 
  2205.  
  2206.  112-113             F Labels;                     starting column 
  2207.  114-115                                           starting row 
  2208.  116-117                                           ending column 
  2209.  118-119                                           ending row 
  2210.  
  2211.  120                 Graph type;                   0 = XY, 1 = bar, 2 = pie, 
  2212.                                                      4 = line, 5 = stacked 
  2213.                                                      bar 
  2214.  
  2215.  121                 Grid;                         0 = none, 1 = horizontal, 
  2216.                                                      2 = vertical, 3 = both 
  2217.  
  2218.  122                 Color;                        0 = black-white,
  2219.                                                      FF = color 
  2220.  
  2221.  123                 A Range line format;          0 = none, 1 = line,  
  2222.                                                      2 = symbol,  
  2223.                                                      3 = line-symbol 
  2224.  
  2225.  124                 B Range line format;          0 = none, 1 = line,  
  2226.                                                      2 = symbol,
  2227.                                                      3 = line-symbol 
  2228.  
  2229.  125                 C Range line format;          0 = none, 1 = line, 
  2230.                                                      2 = symbol, 
  2231.                                                      3 = line-symbol 
  2232.  
  2233.  126                 D Range line format;          0 = none, 1 = line 
  2234.                                                      2 = symbol, 
  2235.                                                      3 = line-symbol 
  2236.  
  2237.  127                 E Range line format;          0 = none, 1 = line 
  2238.                                                      2 = symbol, 
  2239.                                                      3 = line-symbol 
  2240.  
  2241.  128                 F Range line format;          0 = none, 1 = line 
  2242.                                                      2 = symbol 
  2243.                                                      3 = line-symbol 
  2244.  
  2245.  129                 A Range data label alignment; 0 = center, 1 = right,  
  2246.                                                      2 = below, 3 = left, 
  2247.                                                      4 = above 
  2248.  
  2249.  130                 B Range data label alignment; 0 = center, 1 = right 
  2250.                                                      2 = below, 3 = left 
  2251.                                                      4 = above 
  2252.  
  2253.  131                 C Range data label alignment; 0 = center, 1 = right 
  2254.                                                      2 = below, 3 = left 
  2255.                                                      4 = above 
  2256.  
  2257.  132                 D Range data label alignment; 0 = center, 1 = right 
  2258.                                                      2 = below, 3 = left 
  2259.                                                      4 = above 
  2260.  
  2261.  133                 E Range data label alignment; 0 = center, 1 = right 
  2262.                                                      2 = below, 3 = left 
  2263.                                                      4 = above 
  2264.  
  2265.  134                 F Range data label alignment; 0 = center, 1 = right 
  2266.                                                      2 = below, 3 = left 
  2267.                                                      4 = above 
  2268.  
  2269.  
  2270.  
  2271.  
  2272.  
  2273.  
  2274.                                     GRAPH2 
  2275.  
  2276.  
  2277.  Table 7  (continued)  Symphony Graph Record Structure 
  2278.  
  2279.  Byte Number    Byte Description 
  2280.  
  2281.  135            X Scale                                 0 = auto 
  2282.  
  2283.  136-143        X lower limit in floating point format  FF = manual 
  2284.  
  2285.  144-151        X upper limit in floating point format 
  2286.  
  2287.  152            Y scale;                                0 = automatic 
  2288.                                                         FF = manual 
  2289.  
  2290.  153-160        Y lower limit in floating point format 
  2291.  161-168        Y upper limit in floating point format 
  2292.  169-208        First title 
  2293.  209-248        Second title 
  2294.  249-288        X title 
  2295.  289-328        Y title 
  2296.  329-348        A legend 
  2297.  349-368        B legend 
  2298.  369-388        C legend 
  2299.  389-408        D legend 
  2300.  409-428        E legend 
  2301.  429-448        F legend 
  2302.  449            X format 
  2303.  450            Y format 
  2304.  451-452        Skip factor 
  2305.  453            X scale flag; (x1K)                     0 = ON 
  2306.                                                         FF = OFF 
  2307.  
  2308.  454            Y scale flag;(x1K)                      0 = ON 
  2309.                                                         FF = OFF 
  2310.  
  2311.  455            suppress;                               0 = no 
  2312.                                                         else = yes 
  2313.  
  2314.  456-463        Bar origin (float) 
  2315.  464-471        X linear scale (float) 
  2316.  472-479        Y linear scale (float) 
  2317.  480            X log scale 
  2318.  481            Y log scale 
  2319.  
  2320.  482            graph region color;                     X hue code 
  2321.  483                                                    A hue code 
  2322.  484                                                    B hue code 
  2323.  485                                                    C hue code 
  2324.  487                                                    D hue code 
  2325.  488                                                    F hue code 
  2326.  489-490        Y width 
  2327.  491-498        Aspect (float) 
  2328.  
  2329.  
  2330.  
  2331.  
  2332.                                   GRAPHNAME 
  2333.  
  2334.  
  2335.  Record Type          Code          Body length 
  2336.  
  2337.  GRAPHNAME            65 (41h)      16 bytes 
  2338.  
  2339.  Record Description 
  2340.  
  2341.  Current Graph Record Name 
  2342.  
  2343.  Used in Symphony only. 
  2344.  
  2345.  Byte Number          Byte Description 
  2346.  
  2347.  0-15                 NULL terminated ASCII string 
  2348.  
  2349.  
  2350.                                      ZOOM 
  2351.  
  2352.  
  2353.  
  2354.  Record Type      Code          Body length 
  2355.  
  2356.  ZOOM             66 (42h)      9 bytes 
  2357.  
  2358.  Record Description 
  2359.  
  2360.  Original coordinates expanded window 
  2361.  
  2362.  Used in Symphony only. 
  2363.  
  2364.  Byte Number      Byte Description 
  2365.  
  2366.  0                iszoom?                0 = no 
  2367.                                          1 = yes 
  2368.  1-2              X coordinates 
  2369.  3-4              Y coordinates 
  2370.  5-6              column depth 
  2371.  7-8              row depth 
  2372.  
  2373.  
  2374.  
  2375.  
  2376.                                    SYMSPLIT 
  2377.  
  2378.  
  2379.  Record Type         Code         Body length 
  2380.  
  2381.  SYMSPLIT            67 (43h)     2 bytes 
  2382.  
  2383.  Record Description 
  2384.  
  2385.  Number of split windows 
  2386.  
  2387.  Used in Symphony only. 
  2388.  
  2389.  Byte Number        Byte Description 
  2390.  
  2391.  0-1                number of split windows 
  2392.  
  2393.  
  2394.  
  2395.  
  2396.                                     NSROWS 
  2397.  
  2398.  Record Type Code Body length 
  2399.  
  2400.  NSROWS        Code         Body length 
  2401.  
  2402.  NSROWS        68 (44h)     2 bytes 
  2403.  
  2404.  Record Description 
  2405.  
  2406.  Number of screen rows 
  2407.  
  2408.  Used in Symphony only. 
  2409.  
  2410.  Byte Number    Byte Description 
  2411.  
  2412.  0-1            number of screen rows 
  2413.  
  2414.  
  2415.  
  2416.  
  2417.  
  2418.                                     NSCOLS 
  2419.  
  2420.  
  2421.  Record Type          Code           Body length 
  2422.  
  2423.  NSCOLS               69 (45h)       2 bytes 
  2424.  
  2425.  Record Description 
  2426.  
  2427.  Number of screen columns 
  2428.  
  2429.  Used in Symphony only. 
  2430.  
  2431.  Byte Number         Byte Description 
  2432.  
  2433.  0-1                 Number of screen columns 
  2434.  
  2435.  
  2436.  
  2437.                                     RULER 
  2438.  
  2439.  
  2440.  
  2441.  Record Type        Code        Body length 
  2442.  
  2443.  RULER              70 (46h)    25 bytes 
  2444.  
  2445.  Record Description 
  2446.  
  2447.  Name ruler range 
  2448.  
  2449.  Used in Symphony only. 
  2450.  
  2451.  Byte Number        Byte Description 
  2452.  
  2453.  0-15               Name;                NULL terminated ASCII string 
  2454.  16-17              Range;                 starting column 
  2455.  18-19                                     starting row 
  2456.  20-21                                     ending column 
  2457.  22-23                                     ending row 
  2458.  24                 Range type;            0 = single cell 
  2459.                                            1 = range 
  2460.  
  2461.  
  2462.  
  2463.                                     NNAME 
  2464.  
  2465.  
  2466.  Record Type           Code          Body length 
  2467.  
  2468.  NNAME                 71 (47h)      25 bytes 
  2469.  
  2470.  Record Description 
  2471.  
  2472.  Named sheet range 
  2473.  
  2474.  Used in Symphony only. 
  2475.  
  2476.  Byte Number        Byte Description 
  2477.  
  2478.  0-15               Name;                NULL terminated ASCII string 
  2479.  16-17              Range;                  starting column 
  2480.  18-19                                      starting row 
  2481.  20-21                                      ending column 
  2482.  22-23                                      ending row 
  2483.  24                 Range type;          0 = single cell 
  2484.                                          1 = range 
  2485.  
  2486.  
  2487.  
  2488.                                     ACCOM 
  2489.  
  2490.  
  2491.  Record Type          Code         Body length 
  2492.  
  2493.  ACOMM                72 (48h)     65 bytes 
  2494.  
  2495.  Record Description 
  2496.  
  2497.  Autoload communications file 
  2498.  
  2499.  Used in Symphony only. 
  2500.  
  2501.  Byte Number         Byte Description 
  2502.  
  2503.  0-64                Path name to Autoload file; 
  2504.                      NULL terminated ASCII string 
  2505.  
  2506.  
  2507.  
  2508.  
  2509.  AMACRO 
  2510.  
  2511.  
  2512.  Record Type        Code          Body length 
  2513.  
  2514.  AMACRO             73 (49h)      8 bytes 
  2515.  
  2516.  Record Description 
  2517.  
  2518.  Autoexecute macro address 
  2519.  
  2520.  Used in Symphony only. 
  2521.  
  2522.  Byte Number        Byte Description 
  2523.  
  2524.  0-1                starting column 
  2525.  2-3                starting row 
  2526.  4-5                ending column 
  2527.  6-7                ending row 
  2528.  
  2529.  
  2530.  
  2531.                                     PARSE 
  2532.  
  2533.  
  2534.  Record Type        Code         Body length 
  2535.  
  2536.  PARSE              74 (4Ah)     16 bytes 
  2537.  
  2538.  Record Description 
  2539.  
  2540.  Query parse information 
  2541.  
  2542.  Used in Symphony only. 
  2543.  
  2544.  Byte Number       Byte Description 
  2545.  
  2546.  0-1               Parse range;          starting column 
  2547.  2-3                                     starting row 
  2548.  4-5                                     ending column 
  2549.  6-7                                     ending row 
  2550.  8-9               Review range;            starting column 
  2551.  10-11                                      starting row 
  2552.  12-13                                      ending column 
  2553.  14-15                                      ending row 
  2554.